package com.geowiki.model;

// Generated 8/03/2009 10:30:57 AM by Hibernate Tools 3.2.2.GA

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Ubicacion generated by hbm2java
 */
@Entity
@Table(name = "ubicacion", catalog = "geowiki")
public class Ubicacion implements java.io.Serializable {

	private Long idUbicacion;
	private Inmueble inmueble;
	private double latitud;
	private double longitud;
	private Date creado;
	private char actual;
	private Integer nivelZoomVisualizacion;

	public Ubicacion() {
	}

	public Ubicacion(Inmueble inmueble, double latitud, double longitud,
			Date creado, char actual) {
		this.inmueble = inmueble;
		this.latitud = latitud;
		this.longitud = longitud;
		this.creado = creado;
		this.actual = actual;
	}

	public Ubicacion(Inmueble inmueble, double latitud, double longitud,
			Date creado, char actual, Integer nivelZoomVisualizacion) {
		this.inmueble = inmueble;
		this.latitud = latitud;
		this.longitud = longitud;
		this.creado = creado;
		this.actual = actual;
		this.nivelZoomVisualizacion = nivelZoomVisualizacion;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "ID_UBICACION", unique = true, nullable = false)
	public Long getIdUbicacion() {
		return this.idUbicacion;
	}

	public void setIdUbicacion(Long idUbicacion) {
		this.idUbicacion = idUbicacion;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_INMUEBLE", nullable = false)
	public Inmueble getInmueble() {
		return this.inmueble;
	}

	public void setInmueble(Inmueble inmueble) {
		this.inmueble = inmueble;
	}

	@Column(name = "LATITUD", nullable = false, precision = 0, scale = 0)
	public double getLatitud() {
		return this.latitud;
	}

	public void setLatitud(double latitud) {
		this.latitud = latitud;
	}

	@Column(name = "LONGITUD", nullable = false, precision = 0, scale = 0)
	public double getLongitud() {
		return this.longitud;
	}

	public void setLongitud(double longitud) {
		this.longitud = longitud;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "CREADO", nullable = false, length = 19)
	public Date getCreado() {
		return this.creado;
	}

	public void setCreado(Date creado) {
		this.creado = creado;
	}

	@Column(name = "ACTUAL", nullable = false, length = 1)
	public char getActual() {
		return this.actual;
	}

	public void setActual(char actual) {
		this.actual = actual;
	}

	@Column(name = "NIVEL_ZOOM_VISUALIZACION")
	public Integer getNivelZoomVisualizacion() {
		return this.nivelZoomVisualizacion;
	}

	public void setNivelZoomVisualizacion(Integer nivelZoomVisualizacion) {
		this.nivelZoomVisualizacion = nivelZoomVisualizacion;
	}

}
